[INFO] cloning repository https://github.com/BUNotesAI/better-auth-rs-worker
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BUNotesAI/better-auth-rs-worker" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBUNotesAI%2Fbetter-auth-rs-worker", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBUNotesAI%2Fbetter-auth-rs-worker'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 014bf62b52c4ddf4be35d65bade3edf32c33d928
[INFO] fixing BUNotesAI/better-auth-rs-worker against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBUNotesAI%2Fbetter-auth-rs-worker" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/BUNotesAI/better-auth-rs-worker
[INFO] removed 0 missing examples
[INFO] finished tweaking git repo https://github.com/BUNotesAI/better-auth-rs-worker
[INFO] tweaked toml for git repo https://github.com/BUNotesAI/better-auth-rs-worker written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/BUNotesAI/better-auth-rs-worker on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/BUNotesAI/better-auth-rs-worker already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded validator_derive v0.19.0
[INFO] [stderr]   Downloaded oas3 v0.20.1
[INFO] [stderr]   Downloaded validator v0.19.0
[INFO] [stderr]   Downloaded base32 v0.5.1
[INFO] [stderr]   Downloaded insta v1.46.3
[INFO] [stderr]   Downloaded totp-rs v5.7.0
[INFO] [stderr]   Downloaded bon v3.9.0
[INFO] [stderr]   Downloaded bon-macros v3.9.0
[INFO] [stderr]   Downloaded proptest v1.10.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] dfb2349e678ed211a641752469a24946a09406dd6494325e7963f976082ec109
[INFO] running `Command { std: "docker" "start" "dfb2349e678ed211a641752469a24946a09406dd6494325e7963f976082ec109", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "dfb2349e678ed211a641752469a24946a09406dd6494325e7963f976082ec109" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dfb2349e678ed211a641752469a24946a09406dd6494325e7963f976082ec109", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "dfb2349e678ed211a641752469a24946a09406dd6494325e7963f976082ec109" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking socket2 v0.6.2
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling cookie v0.18.1
[INFO] [stderr]     Checking glob-match v0.2.1
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking ring v0.17.14
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking uuid v1.21.0
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking raw-cpuid v11.6.0
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking spinning_top v0.3.0
[INFO] [stderr]     Checking base32 v0.5.1
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]     Checking nonzero_ext v0.3.0
[INFO] [stderr]     Checking futures-timer v3.0.3
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]     Checking clap_lex v1.0.0
[INFO] [stderr]     Checking tempfile v3.26.0
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking rand_xorshift v0.4.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking semver v1.0.27
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]     Checking clap_builder v4.5.60
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking rusty-fork v0.3.1
[INFO] [stderr]     Checking quanta v0.12.6
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling better-auth-derive v0.10.0 (/opt/rustwide/workdir/crates/derive)
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]     Checking hashlink v0.9.1
[INFO] [stderr]     Checking proptest v1.10.0
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking governor v0.10.4
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking simple_asn1 v0.6.4
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking clap v4.5.60
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling validator_derive v0.19.0
[INFO] [stderr]    Compiling bon-macros v3.9.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking jsonwebtoken v9.3.1
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking insta v1.46.3
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking bon v3.9.0
[INFO] [stderr]     Checking validator v0.19.0
[INFO] [stderr]     Checking totp-rs v5.7.0
[INFO] [stderr]     Checking oas3 v0.20.1
[INFO] [stderr]     Checking better-auth-core v0.10.0 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking rusqlite v0.32.1
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking better-auth-api v0.10.0 (/opt/rustwide/workdir/crates/api)
[INFO] [stderr]     Checking better-auth-worker v0.10.0 (/opt/rustwide/workdir/crates/worker)
[INFO] [stderr]     Checking better-auth v0.10.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: static `EMAIL_COUNTER` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | static EMAIL_COUNTER: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unique_email` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn unique_email(prefix: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_with_auth_and_query` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn get_with_auth_and_query(path: &str, token: &str, query: Vec<(&str, &str)>) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `post_json_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub fn post_json_with_auth(path: &str, body: Value, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn delete_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `post_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub fn post_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestHarness` is never constructed
[INFO] [stdout]    --> tests/compat/helpers.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct TestHarness {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/compat/helpers.rs:235:18
[INFO] [stdout]     |
[INFO] [stdout] 232 | impl TestHarness {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub async fn new() -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub async fn minimal() -> Self {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn from_arc(auth: Arc<BetterAuth<MemoryDatabaseAdapter>>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub fn auth(&self) -> &BetterAuth<MemoryDatabaseAdapter> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub fn into_arc(self) -> Arc<BetterAuth<MemoryDatabaseAdapter>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn get(&self, path: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn authed_get(&self, path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn post(&self, path: &str, body: Value) -> AuthRequest {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn authed_post(&self, path: &str, body: Value, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub async fn send(&self, req: AuthRequest) -> (u16, Value) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub async fn signup(&self, email: &str, password: &str, name: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub async fn signin(&self, email: &str, password: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub async fn create_user_with_session(&self) -> (String, String) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SchemaExpectation` is never constructed
[INFO] [stdout]   --> tests/compat/schema.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct SchemaExpectation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FieldExpectation` is never constructed
[INFO] [stdout]   --> tests/compat/schema.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct FieldExpectation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_openapi_spec` is never used
[INFO] [stdout]   --> tests/compat/schema.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn load_openapi_spec() -> oas3::spec::Spec {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_path_item` is never used
[INFO] [stdout]   --> tests/compat/schema.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn get_path_item<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_operation` is never used
[INFO] [stdout]   --> tests/compat/schema.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn get_operation<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_object_schema` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub fn resolve_object_schema(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_from_response` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn schema_from_response(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_success_schema` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn extract_success_schema(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_error_schemas` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn extract_error_schemas(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `object_schema_to_expectation` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:184:8
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn object_schema_to_expectation(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `object_schema_to_field` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:215:8
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub fn object_schema_to_field(spec: &oas3::spec::Spec, obj: &ObjectSchema) -> FieldExpectation {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_type_info` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:245:8
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub fn schema_type_info(obj: &ObjectSchema) -> (String, bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_type_to_string` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:268:8
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub fn schema_type_to_string(t: SchemaType) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_shapes` is never used
[INFO] [stdout]   --> tests/compat/shapes.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn compare_shapes(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_shapes_inner` is never used
[INFO] [stdout]   --> tests/compat/shapes.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn compare_shapes_inner(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MissingRequiredField`, `TypeMismatch`, and `SnakeCaseField` are never constructed
[INFO] [stdout]   --> tests/compat/validation.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum DiffKind {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 25 |     /// A required field is missing from the response
[INFO] [stdout] 26 |     MissingRequiredField,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     /// A field has an unexpected type
[INFO] [stdout] 28 |     TypeMismatch { expected: String, actual: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 29 |     /// A field uses snake_case instead of camelCase
[INFO] [stdout] 30 |     SnakeCaseField,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DiffKind` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_response` is never used
[INFO] [stdout]   --> tests/compat/validation.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn validate_response(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_field` is never used
[INFO] [stdout]    --> tests/compat/validation.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn validate_field(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `spec` is never read
[INFO] [stdout]   --> tests/compat/validator.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct SpecValidator {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 12 |     pub spec: oas3::spec::Spec,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `validate_endpoint`, and `report` are never used
[INFO] [stdout]   --> tests/compat/validator.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl SpecValidator {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 57 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn validate_endpoint(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn report(&self) -> String {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> tests/property_tests.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | /// Passwords shorter than `password_min_length` (8) must be rejected (400).
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> tests/property_tests.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | / /// Passwords at or above `password_min_length` (8) should not trigger a
[INFO] [stdout] 47 | | /// "too short" error.  They may still fail for other reasons (duplicate
[INFO] [stdout] 48 | | /// email, etc.) but they must NOT return the min-length error message.
[INFO] [stdout]    | |_----------------------------------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> tests/property_tests.rs:90:1
[INFO] [stdout]    |
[INFO] [stdout] 90 | /// Clearly invalid emails must not produce a 200 on sign-up.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> tests/property_tests.rs:128:1
[INFO] [stdout]     |
[INFO] [stdout] 128 | / /// `validate_token_format` accepts tokens that start with "session_" and
[INFO] [stdout] 129 | | /// are longer than 40 characters.
[INFO] [stdout]     | |_---------------------------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> tests/property_tests.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | /// Tokens that are too short or have the wrong prefix must be rejected.
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> tests/property_tests.rs:174:1
[INFO] [stdout]     |
[INFO] [stdout] 174 | /// Secret keys shorter than 32 characters must fail validation.
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> tests/property_tests.rs:187:1
[INFO] [stdout]     |
[INFO] [stdout] 187 | /// Secret keys of 32+ characters must pass validation.
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `EMAIL_COUNTER` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | static EMAIL_COUNTER: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unique_email` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn unique_email(prefix: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_request` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn get_request(path: &str) -> AuthRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_with_auth_and_query` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn get_with_auth_and_query(path: &str, token: &str, query: Vec<(&str, &str)>) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn delete_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `post_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub fn post_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `signin_user` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:189:14
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub async fn signin_user(
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestHarness` is never constructed
[INFO] [stdout]    --> tests/compat/helpers.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct TestHarness {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/compat/helpers.rs:235:18
[INFO] [stdout]     |
[INFO] [stdout] 232 | impl TestHarness {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub async fn new() -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub async fn minimal() -> Self {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn from_arc(auth: Arc<BetterAuth<MemoryDatabaseAdapter>>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub fn auth(&self) -> &BetterAuth<MemoryDatabaseAdapter> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub fn into_arc(self) -> Arc<BetterAuth<MemoryDatabaseAdapter>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn get(&self, path: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn authed_get(&self, path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn post(&self, path: &str, body: Value) -> AuthRequest {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn authed_post(&self, path: &str, body: Value, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub async fn send(&self, req: AuthRequest) -> (u16, Value) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub async fn signup(&self, email: &str, password: &str, name: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub async fn signin(&self, email: &str, password: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub async fn create_user_with_session(&self) -> (String, String) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_error_schemas` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn extract_error_schemas(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_shapes` is never used
[INFO] [stdout]   --> tests/compat/shapes.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn compare_shapes(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_shapes_inner` is never used
[INFO] [stdout]   --> tests/compat/shapes.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn compare_shapes_inner(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_camel_case_fields` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn check_camel_case_fields(value: &Value, path: &str) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_camel_case_inner` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:124:4
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn check_camel_case_inner(value: &Value, path: &str, violations: &mut Vec<String>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_type_signature` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn extract_type_signature(value: &Value, indent: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `better_auth::error`
[INFO] [stdout]  --> examples/custom_orm_adapter.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | use better_auth::error::{AuthError, AuthResult};
[INFO] [stdout]   |                  ^^^^^ could not find `error` in `better_auth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `create_user` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | /     async fn create_user(&self, create_user: CreateUser) -> AuthResult<User> {
[INFO] [stdout] 120 | |         let id = create_user.id.unwrap_or_else(|| Uuid::new_v4().to_string());
[INFO] [stdout] 121 | |         let now = Utc::now();
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |             .map_err(|e| AuthError::database(e))
[INFO] [stdout] 144 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `get_user_by_id` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:146:5
[INFO] [stdout]     |
[INFO] [stdout] 146 | /     async fn get_user_by_id(&self, id: &str) -> AuthResult<Option<User>> {
[INFO] [stdout] 147 | |         let users = self.users.lock().unwrap();
[INFO] [stdout] 148 | |         Ok(users.get(id).cloned())
[INFO] [stdout] 149 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `get_user_by_email` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 | /     async fn get_user_by_email(&self, email: &str) -> AuthResult<Option<User>> {
[INFO] [stdout] 152 | |         self.orm_find_user_by_email(email)
[INFO] [stdout] 153 | |             .await
[INFO] [stdout] 154 | |             .map_err(|e| AuthError::database(e))
[INFO] [stdout] 155 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `update_user` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 | /     async fn update_user(&self, id: &str, update: UpdateUser) -> AuthResult<User> {
[INFO] [stdout] 158 | |         let mut users = self.users.lock().unwrap();
[INFO] [stdout] 159 | |
[INFO] [stdout] 160 | |         let user = users
[INFO] [stdout] ...   |
[INFO] [stdout] 180 | |         Ok(user.clone())
[INFO] [stdout] 181 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `delete_user` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     async fn delete_user(&self, id: &str) -> AuthResult<()> {
[INFO] [stdout] 184 | |         let mut users = self.users.lock().unwrap();
[INFO] [stdout] 185 | |         let mut email_index = self.email_index.lock().unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 193 | |         Ok(())
[INFO] [stdout] 194 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `create_session` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 196 | /     async fn create_session(&self, create_session: CreateSession) -> AuthResult<Session> {
[INFO] [stdout] 197 | |         let id = Uuid::new_v4().to_string();
[INFO] [stdout] 198 | |         let now = Utc::now();
[INFO] [stdout] ...   |
[INFO] [stdout] 213 | |             .map_err(|e| AuthError::database(e))
[INFO] [stdout] 214 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `get_session` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:216:5
[INFO] [stdout]     |
[INFO] [stdout] 216 | /     async fn get_session(&self, token: &str) -> AuthResult<Option<Session>> {
[INFO] [stdout] 217 | |         self.orm_find_session(token)
[INFO] [stdout] 218 | |             .await
[INFO] [stdout] 219 | |             .map_err(|e| AuthError::database(e))
[INFO] [stdout] 220 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `get_user_sessions` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 | /     async fn get_user_sessions(&self, user_id: &str) -> AuthResult<Vec<Session>> {
[INFO] [stdout] 223 | |         let sessions = self.sessions.lock().unwrap();
[INFO] [stdout] 224 | |         let user_sessions: Vec<Session> = sessions
[INFO] [stdout] 225 | |             .values()
[INFO] [stdout] ...   |
[INFO] [stdout] 229 | |         Ok(user_sessions)
[INFO] [stdout] 230 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `update_session_expiry` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 | /     async fn update_session_expiry(
[INFO] [stdout] 233 | |         &self,
[INFO] [stdout] 234 | |         token: &str,
[INFO] [stdout] 235 | |         expires_at: DateTime<Utc>,
[INFO] [stdout] ...   |
[INFO] [stdout] 244 | |         Ok(())
[INFO] [stdout] 245 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `delete_session` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 247 | /     async fn delete_session(&self, token: &str) -> AuthResult<()> {
[INFO] [stdout] 248 | |         let mut sessions = self.sessions.lock().unwrap();
[INFO] [stdout] 249 | |         sessions.remove(token);
[INFO] [stdout] 250 | |         Ok(())
[INFO] [stdout] 251 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `delete_user_sessions` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 | /     async fn delete_user_sessions(&self, user_id: &str) -> AuthResult<()> {
[INFO] [stdout] 254 | |         let mut sessions = self.sessions.lock().unwrap();
[INFO] [stdout] 255 | |         sessions.retain(|_, session| session.user_id != user_id);
[INFO] [stdout] 256 | |         Ok(())
[INFO] [stdout] 257 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `delete_expired_sessions` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:259:5
[INFO] [stdout]     |
[INFO] [stdout] 259 | /     async fn delete_expired_sessions(&self) -> AuthResult<usize> {
[INFO] [stdout] 260 | |         let mut sessions = self.sessions.lock().unwrap();
[INFO] [stdout] 261 | |         let now = Utc::now();
[INFO] [stdout] 262 | |         let initial_count = sessions.len();
[INFO] [stdout] 263 | |         sessions.retain(|_, session| session.expires_at > now);
[INFO] [stdout] 264 | |         Ok(initial_count - sessions.len())
[INFO] [stdout] 265 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `create_account` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:268:5
[INFO] [stdout]     |
[INFO] [stdout] 268 | /     async fn create_account(&self, _account: CreateAccount) -> AuthResult<Account> {
[INFO] [stdout] 269 | |         // Implement based on your OAuth needs
[INFO] [stdout] 270 | |         unimplemented!("OAuth accounts not implemented in this example")
[INFO] [stdout] 271 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `get_account` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:273:5
[INFO] [stdout]     |
[INFO] [stdout] 273 | /     async fn get_account(
[INFO] [stdout] 274 | |         &self,
[INFO] [stdout] 275 | |         _provider: &str,
[INFO] [stdout] 276 | |         _provider_account_id: &str,
[INFO] [stdout] 277 | |     ) -> AuthResult<Option<Account>> {
[INFO] [stdout] 278 | |         Ok(None)
[INFO] [stdout] 279 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `get_user_accounts` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:281:5
[INFO] [stdout]     |
[INFO] [stdout] 281 | /     async fn get_user_accounts(&self, _user_id: &str) -> AuthResult<Vec<Account>> {
[INFO] [stdout] 282 | |         Ok(vec![])
[INFO] [stdout] 283 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `delete_account` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:285:5
[INFO] [stdout]     |
[INFO] [stdout] 285 | /     async fn delete_account(&self, _id: &str) -> AuthResult<()> {
[INFO] [stdout] 286 | |         Ok(())
[INFO] [stdout] 287 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `create_verification` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:290:5
[INFO] [stdout]     |
[INFO] [stdout] 290 | /     async fn create_verification(
[INFO] [stdout] 291 | |         &self,
[INFO] [stdout] 292 | |         _verification: CreateVerification,
[INFO] [stdout] 293 | |     ) -> AuthResult<Verification> {
[INFO] [stdout] 294 | |         unimplemented!("Verifications not implemented in this example")
[INFO] [stdout] 295 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `get_verification` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:297:5
[INFO] [stdout]     |
[INFO] [stdout] 297 | /     async fn get_verification(&self, _id: &str) -> AuthResult<Option<Verification>> {
[INFO] [stdout] 298 | |         Ok(None)
[INFO] [stdout] 299 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `get_verification_by_value` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:301:5
[INFO] [stdout]     |
[INFO] [stdout] 301 | /     async fn get_verification_by_value(&self, _value: &str) -> AuthResult<Option<Verification>> {
[INFO] [stdout] 302 | |         Ok(None)
[INFO] [stdout] 303 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `delete_verification` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:305:5
[INFO] [stdout]     |
[INFO] [stdout] 305 | /     async fn delete_verification(&self, _id: &str) -> AuthResult<()> {
[INFO] [stdout] 306 | |         Ok(())
[INFO] [stdout] 307 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `delete_expired_verifications` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:309:5
[INFO] [stdout]     |
[INFO] [stdout] 309 | /     async fn delete_expired_verifications(&self) -> AuthResult<usize> {
[INFO] [stdout] 310 | |         Ok(0)
[INFO] [stdout] 311 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `create_credential` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:314:5
[INFO] [stdout]     |
[INFO] [stdout] 314 | /     async fn create_credential(&self, user_id: String, password_hash: String) -> AuthResult<()> {
[INFO] [stdout] 315 | |         let mut credentials = self.credentials.lock().unwrap();
[INFO] [stdout] 316 | |         credentials.insert(user_id, password_hash);
[INFO] [stdout] 317 | |         Ok(())
[INFO] [stdout] 318 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `get_credential` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:320:5
[INFO] [stdout]     |
[INFO] [stdout] 320 | /     async fn get_credential(&self, user_id: &str) -> AuthResult<Option<String>> {
[INFO] [stdout] 321 | |         let credentials = self.credentials.lock().unwrap();
[INFO] [stdout] 322 | |         Ok(credentials.get(user_id).cloned())
[INFO] [stdout] 323 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `update_credential` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:325:5
[INFO] [stdout]     |
[INFO] [stdout] 325 | /     async fn update_credential(&self, user_id: &str, password_hash: String) -> AuthResult<()> {
[INFO] [stdout] 326 | |         let mut credentials = self.credentials.lock().unwrap();
[INFO] [stdout] 327 | |         credentials.insert(user_id.to_string(), password_hash);
[INFO] [stdout] 328 | |         Ok(())
[INFO] [stdout] 329 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `delete_credential` is not a member of trait `DatabaseAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:331:5
[INFO] [stdout]     |
[INFO] [stdout] 331 | /     async fn delete_credential(&self, user_id: &str) -> AuthResult<()> {
[INFO] [stdout] 332 | |         let mut credentials = self.credentials.lock().unwrap();
[INFO] [stdout] 333 | |         credentials.remove(user_id);
[INFO] [stdout] 334 | |         Ok(())
[INFO] [stdout] 335 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `diesel-example`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:339:7
[INFO] [stdout]     |
[INFO] [stdout] 339 | #[cfg(feature = "diesel-example")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `axum`, `default`, `derive`, `local-futures`, `native-tls`, `redis-cache`, `rustls`, and `sqlx-postgres`
[INFO] [stdout]     = help: consider adding `diesel-example` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `CustomORMAdapter: PasskeyOps` is not satisfied
[INFO] [stdout]     --> examples/custom_orm_adapter.rs:118:26
[INFO] [stdout]      |
[INFO] [stdout]  118 | impl DatabaseAdapter for CustomORMAdapter {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `PasskeyOps` is not implemented for `CustomORMAdapter`
[INFO] [stdout]     --> examples/custom_orm_adapter.rs:21:1
[INFO] [stdout]      |
[INFO] [stdout]   21 | pub struct CustomORMAdapter {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the trait `PasskeyOps` is implemented for `MemoryDatabaseAdapter<U, S, A, O, M, I, V, P>`
[INFO] [stdout]     --> crates/core/src/adapters/memory.rs:996:1
[INFO] [stdout]      |
[INFO] [stdout]  996 | / impl<U, S, A, O, M, I, V, P> PasskeyOps for MemoryDatabaseAdapter<U, S, A, O, M, I, V, P>
[INFO] [stdout]  997 | | where
[INFO] [stdout]  998 | |     U: MemoryUser,
[INFO] [stdout]  999 | |     S: MemorySession,
[INFO] [stdout] ...    |
[INFO] [stdout] 1004 | |     V: MemoryVerification,
[INFO] [stdout] 1005 | |     P: MemoryPasskey,
[INFO] [stdout]      | |_____________________^
[INFO] [stdout] note: required by a bound in `DatabaseAdapter`
[INFO] [stdout]     --> crates/core/src/adapters/database.rs:24:7
[INFO] [stdout]      |
[INFO] [stdout]   14 | pub trait DatabaseAdapter:
[INFO] [stdout]      |           --------------- required by a bound in this trait
[INFO] [stdout] ...
[INFO] [stdout]   24 |     + PasskeyOps
[INFO] [stdout]      |       ^^^^^^^^^^ required by this bound in `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `CustomORMAdapter: ApiKeyOps` is not satisfied
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:118:26
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl DatabaseAdapter for CustomORMAdapter {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `ApiKeyOps` is not implemented for `CustomORMAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct CustomORMAdapter {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the following other types implement trait `ApiKeyOps`
[INFO] [stdout]    --> crates/core/src/hooks.rs:601:1
[INFO] [stdout]     |
[INFO] [stdout] 601 |   impl<DB: DatabaseAdapter> ApiKeyOps for HookedDatabaseAdapter<DB> {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `HookedDatabaseAdapter<DB>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/core/src/adapters/memory.rs:912:1
[INFO] [stdout]     |
[INFO] [stdout] 912 | / impl<U, S, A, O, M, I, V, P> ApiKeyOps for MemoryDatabaseAdapter<U, S, A, O, M, I, V, P>
[INFO] [stdout] 913 | | where
[INFO] [stdout] 914 | |     U: MemoryUser,
[INFO] [stdout] 915 | |     S: MemorySession,
[INFO] [stdout] ...   |
[INFO] [stdout] 920 | |     V: MemoryVerification,
[INFO] [stdout] 921 | |     P: MemoryPasskey,
[INFO] [stdout]     | |_____________________^ `MemoryDatabaseAdapter<U, S, A, O, M, I, V, P>`
[INFO] [stdout] note: required by a bound in `DatabaseAdapter`
[INFO] [stdout]    --> crates/core/src/adapters/database.rs:23:7
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub trait DatabaseAdapter:
[INFO] [stdout]     |           --------------- required by a bound in this trait
[INFO] [stdout] ...
[INFO] [stdout]  23 |     + ApiKeyOps
[INFO] [stdout]     |       ^^^^^^^^^ required by this bound in `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `CustomORMAdapter: TwoFactorOps` is not satisfied
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:118:26
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl DatabaseAdapter for CustomORMAdapter {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `TwoFactorOps` is not implemented for `CustomORMAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct CustomORMAdapter {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the following other types implement trait `TwoFactorOps`
[INFO] [stdout]    --> crates/core/src/hooks.rs:570:1
[INFO] [stdout]     |
[INFO] [stdout] 570 |   impl<DB: DatabaseAdapter> TwoFactorOps for HookedDatabaseAdapter<DB> {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `HookedDatabaseAdapter<DB>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/core/src/adapters/memory.rs:848:1
[INFO] [stdout]     |
[INFO] [stdout] 848 | / impl<U, S, A, O, M, I, V, P> TwoFactorOps for MemoryDatabaseAdapter<U, S, A, O, M, I, V, P>
[INFO] [stdout] 849 | | where
[INFO] [stdout] 850 | |     U: MemoryUser,
[INFO] [stdout] 851 | |     S: MemorySession,
[INFO] [stdout] ...   |
[INFO] [stdout] 856 | |     V: MemoryVerification,
[INFO] [stdout] 857 | |     P: MemoryPasskey,
[INFO] [stdout]     | |_____________________^ `MemoryDatabaseAdapter<U, S, A, O, M, I, V, P>`
[INFO] [stdout] note: required by a bound in `DatabaseAdapter`
[INFO] [stdout]    --> crates/core/src/adapters/database.rs:22:7
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub trait DatabaseAdapter:
[INFO] [stdout]     |           --------------- required by a bound in this trait
[INFO] [stdout] ...
[INFO] [stdout]  22 |     + TwoFactorOps
[INFO] [stdout]     |       ^^^^^^^^^^^^ required by this bound in `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `CustomORMAdapter: InvitationOps` is not satisfied
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:118:26
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl DatabaseAdapter for CustomORMAdapter {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `InvitationOps` is not implemented for `CustomORMAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct CustomORMAdapter {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the following other types implement trait `InvitationOps`
[INFO] [stdout]    --> crates/core/src/hooks.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 |   impl<DB: DatabaseAdapter> InvitationOps for HookedDatabaseAdapter<DB> {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `HookedDatabaseAdapter<DB>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/core/src/adapters/memory.rs:766:1
[INFO] [stdout]     |
[INFO] [stdout] 766 | / impl<U, S, A, O, M, I, V, P> InvitationOps for MemoryDatabaseAdapter<U, S, A, O, M, I, V, P>
[INFO] [stdout] 767 | | where
[INFO] [stdout] 768 | |     U: MemoryUser,
[INFO] [stdout] 769 | |     S: MemorySession,
[INFO] [stdout] ...   |
[INFO] [stdout] 774 | |     V: MemoryVerification,
[INFO] [stdout] 775 | |     P: MemoryPasskey,
[INFO] [stdout]     | |_____________________^ `MemoryDatabaseAdapter<U, S, A, O, M, I, V, P>`
[INFO] [stdout] note: required by a bound in `DatabaseAdapter`
[INFO] [stdout]    --> crates/core/src/adapters/database.rs:21:7
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub trait DatabaseAdapter:
[INFO] [stdout]     |           --------------- required by a bound in this trait
[INFO] [stdout] ...
[INFO] [stdout]  21 |     + InvitationOps
[INFO] [stdout]     |       ^^^^^^^^^^^^^ required by this bound in `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `CustomORMAdapter: MemberOps` is not satisfied
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:118:26
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl DatabaseAdapter for CustomORMAdapter {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `MemberOps` is not implemented for `CustomORMAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct CustomORMAdapter {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the following other types implement trait `MemberOps`
[INFO] [stdout]    --> crates/core/src/hooks.rs:477:1
[INFO] [stdout]     |
[INFO] [stdout] 477 |   impl<DB: DatabaseAdapter> MemberOps for HookedDatabaseAdapter<DB> {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `HookedDatabaseAdapter<DB>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/core/src/adapters/memory.rs:673:1
[INFO] [stdout]     |
[INFO] [stdout] 673 | / impl<U, S, A, O, M, I, V, P> MemberOps for MemoryDatabaseAdapter<U, S, A, O, M, I, V, P>
[INFO] [stdout] 674 | | where
[INFO] [stdout] 675 | |     U: MemoryUser,
[INFO] [stdout] 676 | |     S: MemorySession,
[INFO] [stdout] ...   |
[INFO] [stdout] 681 | |     V: MemoryVerification,
[INFO] [stdout] 682 | |     P: MemoryPasskey,
[INFO] [stdout]     | |_____________________^ `MemoryDatabaseAdapter<U, S, A, O, M, I, V, P>`
[INFO] [stdout] note: required by a bound in `DatabaseAdapter`
[INFO] [stdout]    --> crates/core/src/adapters/database.rs:20:7
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub trait DatabaseAdapter:
[INFO] [stdout]     |           --------------- required by a bound in this trait
[INFO] [stdout] ...
[INFO] [stdout]  20 |     + MemberOps
[INFO] [stdout]     |       ^^^^^^^^^ required by this bound in `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `CustomORMAdapter: OrganizationOps` is not satisfied
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:118:26
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl DatabaseAdapter for CustomORMAdapter {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `OrganizationOps` is not implemented for `CustomORMAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct CustomORMAdapter {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the following other types implement trait `OrganizationOps`
[INFO] [stdout]    --> crates/core/src/hooks.rs:443:1
[INFO] [stdout]     |
[INFO] [stdout] 443 |   impl<DB: DatabaseAdapter> OrganizationOps for HookedDatabaseAdapter<DB> {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `HookedDatabaseAdapter<DB>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/core/src/adapters/memory.rs:560:1
[INFO] [stdout]     |
[INFO] [stdout] 560 | / impl<U, S, A, O, M, I, V, P> OrganizationOps for MemoryDatabaseAdapter<U, S, A, O, M, I, V, P>
[INFO] [stdout] 561 | | where
[INFO] [stdout] 562 | |     U: MemoryUser,
[INFO] [stdout] 563 | |     S: MemorySession,
[INFO] [stdout] ...   |
[INFO] [stdout] 568 | |     V: MemoryVerification,
[INFO] [stdout] 569 | |     P: MemoryPasskey,
[INFO] [stdout]     | |_____________________^ `MemoryDatabaseAdapter<U, S, A, O, M, I, V, P>`
[INFO] [stdout] note: required by a bound in `DatabaseAdapter`
[INFO] [stdout]    --> crates/core/src/adapters/database.rs:19:7
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub trait DatabaseAdapter:
[INFO] [stdout]     |           --------------- required by a bound in this trait
[INFO] [stdout] ...
[INFO] [stdout]  19 |     + OrganizationOps
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^ required by this bound in `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `CustomORMAdapter: VerificationOps` is not satisfied
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:118:26
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl DatabaseAdapter for CustomORMAdapter {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `VerificationOps` is not implemented for `CustomORMAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct CustomORMAdapter {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the following other types implement trait `VerificationOps`
[INFO] [stdout]    --> crates/core/src/hooks.rs:380:1
[INFO] [stdout]     |
[INFO] [stdout] 380 |   impl<DB: DatabaseAdapter> VerificationOps for HookedDatabaseAdapter<DB> {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `HookedDatabaseAdapter<DB>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/core/src/adapters/memory.rs:464:1
[INFO] [stdout]     |
[INFO] [stdout] 464 | / impl<U, S, A, O, M, I, V, P> VerificationOps for MemoryDatabaseAdapter<U, S, A, O, M, I, V, P>
[INFO] [stdout] 465 | | where
[INFO] [stdout] 466 | |     U: MemoryUser,
[INFO] [stdout] 467 | |     S: MemorySession,
[INFO] [stdout] ...   |
[INFO] [stdout] 472 | |     V: MemoryVerification,
[INFO] [stdout] 473 | |     P: MemoryPasskey,
[INFO] [stdout]     | |_____________________^ `MemoryDatabaseAdapter<U, S, A, O, M, I, V, P>`
[INFO] [stdout] note: required by a bound in `DatabaseAdapter`
[INFO] [stdout]    --> crates/core/src/adapters/database.rs:18:7
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub trait DatabaseAdapter:
[INFO] [stdout]     |           --------------- required by a bound in this trait
[INFO] [stdout] ...
[INFO] [stdout]  18 |     + VerificationOps
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^ required by this bound in `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `CustomORMAdapter: AccountOps` is not satisfied
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:118:26
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl DatabaseAdapter for CustomORMAdapter {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `AccountOps` is not implemented for `CustomORMAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct CustomORMAdapter {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the following other types implement trait `AccountOps`
[INFO] [stdout]    --> crates/core/src/hooks.rs:327:1
[INFO] [stdout]     |
[INFO] [stdout] 327 |   impl<DB: DatabaseAdapter> AccountOps for HookedDatabaseAdapter<DB> {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `HookedDatabaseAdapter<DB>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/core/src/adapters/memory.rs:399:1
[INFO] [stdout]     |
[INFO] [stdout] 399 | / impl<U, S, A, O, M, I, V, P> AccountOps for MemoryDatabaseAdapter<U, S, A, O, M, I, V, P>
[INFO] [stdout] 400 | | where
[INFO] [stdout] 401 | |     U: MemoryUser,
[INFO] [stdout] 402 | |     S: MemorySession,
[INFO] [stdout] ...   |
[INFO] [stdout] 407 | |     V: MemoryVerification,
[INFO] [stdout] 408 | |     P: MemoryPasskey,
[INFO] [stdout]     | |_____________________^ `MemoryDatabaseAdapter<U, S, A, O, M, I, V, P>`
[INFO] [stdout] note: required by a bound in `DatabaseAdapter`
[INFO] [stdout]    --> crates/core/src/adapters/database.rs:17:7
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub trait DatabaseAdapter:
[INFO] [stdout]     |           --------------- required by a bound in this trait
[INFO] [stdout] ...
[INFO] [stdout]  17 |     + AccountOps
[INFO] [stdout]     |       ^^^^^^^^^^ required by this bound in `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `CustomORMAdapter: SessionOps` is not satisfied
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:118:26
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl DatabaseAdapter for CustomORMAdapter {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `SessionOps` is not implemented for `CustomORMAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct CustomORMAdapter {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the following other types implement trait `SessionOps`
[INFO] [stdout]    --> crates/core/src/hooks.rs:267:1
[INFO] [stdout]     |
[INFO] [stdout] 267 |   impl<DB: DatabaseAdapter> SessionOps for HookedDatabaseAdapter<DB> {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `HookedDatabaseAdapter<DB>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/core/src/adapters/memory.rs:304:1
[INFO] [stdout]     |
[INFO] [stdout] 304 | / impl<U, S, A, O, M, I, V, P> SessionOps for MemoryDatabaseAdapter<U, S, A, O, M, I, V, P>
[INFO] [stdout] 305 | | where
[INFO] [stdout] 306 | |     U: MemoryUser,
[INFO] [stdout] 307 | |     S: MemorySession,
[INFO] [stdout] ...   |
[INFO] [stdout] 312 | |     V: MemoryVerification,
[INFO] [stdout] 313 | |     P: MemoryPasskey,
[INFO] [stdout]     | |_____________________^ `MemoryDatabaseAdapter<U, S, A, O, M, I, V, P>`
[INFO] [stdout] note: required by a bound in `DatabaseAdapter`
[INFO] [stdout]    --> crates/core/src/adapters/database.rs:16:7
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub trait DatabaseAdapter:
[INFO] [stdout]     |           --------------- required by a bound in this trait
[INFO] [stdout]  15 |     UserOps
[INFO] [stdout]  16 |     + SessionOps
[INFO] [stdout]     |       ^^^^^^^^^^ required by this bound in `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `CustomORMAdapter: UserOps` is not satisfied
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:118:26
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl DatabaseAdapter for CustomORMAdapter {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `UserOps` is not implemented for `CustomORMAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct CustomORMAdapter {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the following other types implement trait `UserOps`
[INFO] [stdout]    --> crates/core/src/hooks.rs:220:1
[INFO] [stdout]     |
[INFO] [stdout] 220 |   impl<DB: DatabaseAdapter> UserOps for HookedDatabaseAdapter<DB> {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `HookedDatabaseAdapter<DB>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/core/src/adapters/memory.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | / impl<U, S, A, O, M, I, V, P> UserOps for MemoryDatabaseAdapter<U, S, A, O, M, I, V, P>
[INFO] [stdout] 112 | | where
[INFO] [stdout] 113 | |     U: MemoryUser,
[INFO] [stdout] 114 | |     S: MemorySession,
[INFO] [stdout] ...   |
[INFO] [stdout] 119 | |     V: MemoryVerification,
[INFO] [stdout] 120 | |     P: MemoryPasskey,
[INFO] [stdout]     | |_____________________^ `MemoryDatabaseAdapter<U, S, A, O, M, I, V, P>`
[INFO] [stdout] note: required by a bound in `DatabaseAdapter`
[INFO] [stdout]    --> crates/core/src/adapters/database.rs:15:5
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub trait DatabaseAdapter:
[INFO] [stdout]     |           --------------- required by a bound in this trait
[INFO] [stdout]  15 |     UserOps
[INFO] [stdout]     |     ^^^^^^^ required by this bound in `DatabaseAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `EMAIL_COUNTER` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | static EMAIL_COUNTER: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unique_email` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn unique_email(prefix: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `post_json` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn post_json(path: &str, body: Value) -> AuthRequest {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_request` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn get_request(path: &str) -> AuthRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_with_auth` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub fn get_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_with_auth_and_query` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn get_with_auth_and_query(path: &str, token: &str, query: Vec<(&str, &str)>) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `post_json_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub fn post_json_with_auth(path: &str, body: Value, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:202:20
[INFO] [stdout]     |
[INFO] [stdout] 202 |             token: create_session.token,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^ expected `String`, found `Option<String>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `std::string::String`
[INFO] [stdout]                  found enum `Option<std::string::String>`
[INFO] [stdout] help: consider using `Option::expect` to unwrap the `Option<std::string::String>` value, panicking if the value is an `Option::None`
[INFO] [stdout]     |
[INFO] [stdout] 202 |             token: create_session.token.expect("REASON"),
[INFO] [stdout]     |                                        +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing fields `active`, `active_organization_id` and `impersonated_by` in initializer of `better_auth::Session`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:200:23
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let session = Session {
[INFO] [stdout]     |                       ^^^^^^^ missing `active`, `active_organization_id` and `impersonated_by`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn delete_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `post_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub fn post_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_request` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:148:14
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub async fn send_request(
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `signup_user` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:162:14
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub async fn signup_user(
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `signin_user` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:189:14
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub async fn signin_user(
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestHarness` is never constructed
[INFO] [stdout]    --> tests/compat/helpers.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct TestHarness {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/compat/helpers.rs:235:18
[INFO] [stdout]     |
[INFO] [stdout] 232 | impl TestHarness {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub async fn new() -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub async fn minimal() -> Self {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn from_arc(auth: Arc<BetterAuth<MemoryDatabaseAdapter>>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub fn auth(&self) -> &BetterAuth<MemoryDatabaseAdapter> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub fn into_arc(self) -> Arc<BetterAuth<MemoryDatabaseAdapter>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn get(&self, path: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn authed_get(&self, path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn post(&self, path: &str, body: Value) -> AuthRequest {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn authed_post(&self, path: &str, body: Value, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub async fn send(&self, req: AuthRequest) -> (u16, Value) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub async fn signup(&self, email: &str, password: &str, name: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub async fn signin(&self, email: &str, password: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub async fn create_user_with_session(&self) -> (String, String) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SchemaExpectation` is never constructed
[INFO] [stdout]   --> tests/compat/schema.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct SchemaExpectation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FieldExpectation` is never constructed
[INFO] [stdout]   --> tests/compat/schema.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct FieldExpectation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_path_item` is never used
[INFO] [stdout]   --> tests/compat/schema.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn get_path_item<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_operation` is never used
[INFO] [stdout]   --> tests/compat/schema.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn get_operation<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_object_schema` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub fn resolve_object_schema(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_from_response` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn schema_from_response(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_success_schema` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn extract_success_schema(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_error_schemas` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn extract_error_schemas(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `object_schema_to_expectation` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:184:8
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn object_schema_to_expectation(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `object_schema_to_field` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:215:8
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub fn object_schema_to_field(spec: &oas3::spec::Spec, obj: &ObjectSchema) -> FieldExpectation {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_type_info` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:245:8
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub fn schema_type_info(obj: &ObjectSchema) -> (String, bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_type_to_string` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:268:8
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub fn schema_type_to_string(t: SchemaType) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_shapes` is never used
[INFO] [stdout]   --> tests/compat/shapes.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn compare_shapes(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_shapes_inner` is never used
[INFO] [stdout]   --> tests/compat/shapes.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn compare_shapes_inner(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_camel_case_fields` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn check_camel_case_fields(value: &Value, path: &str) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_camel_case_inner` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:124:4
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn check_camel_case_inner(value: &Value, path: &str, violations: &mut Vec<String>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_type_signature` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn extract_type_signature(value: &Value, indent: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MissingRequiredField`, `TypeMismatch`, and `SnakeCaseField` are never constructed
[INFO] [stdout]   --> tests/compat/validation.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum DiffKind {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 25 |     /// A required field is missing from the response
[INFO] [stdout] 26 |     MissingRequiredField,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     /// A field has an unexpected type
[INFO] [stdout] 28 |     TypeMismatch { expected: String, actual: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 29 |     /// A field uses snake_case instead of camelCase
[INFO] [stdout] 30 |     SnakeCaseField,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DiffKind` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_response` is never used
[INFO] [stdout]   --> tests/compat/validation.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn validate_response(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_field` is never used
[INFO] [stdout]    --> tests/compat/validation.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn validate_field(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `json_type_name` is never used
[INFO] [stdout]    --> tests/compat/validation.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub fn json_type_name(value: &Value) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `spec` is never read
[INFO] [stdout]   --> tests/compat/validator.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct SpecValidator {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 12 |     pub spec: oas3::spec::Spec,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `validate_endpoint`, and `report` are never used
[INFO] [stdout]   --> tests/compat/validator.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl SpecValidator {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 57 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn validate_endpoint(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn report(&self) -> String {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:404:16
[INFO] [stdout]     |
[INFO] [stdout] 404 |     let auth = BetterAuth::new(config)
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^ cannot infer type of the type parameter `DB` declared on the struct `BetterAuth`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `DatabaseAdapter`
[INFO] [stdout] help: the trait `DatabaseAdapter` is implemented for `CustomORMAdapter`
[INFO] [stdout]    --> examples/custom_orm_adapter.rs:118:1
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl DatabaseAdapter for CustomORMAdapter {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `BetterAuth`
[INFO] [stdout]    --> src/core/auth.rs:24:27
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct BetterAuth<DB: DatabaseAdapter> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^ required by this bound in `BetterAuth`
[INFO] [stdout] help: consider specifying a concrete type for the type parameter `DB`
[INFO] [stdout]     |
[INFO] [stdout] 404 |     let auth = BetterAuth::</* Type */>::new(config)
[INFO] [stdout]     |                          ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0063, E0277, E0283, E0308, E0407, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0063`.
[INFO] [stdout] 
[INFO] [stdout] warning: static `EMAIL_COUNTER` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | static EMAIL_COUNTER: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unique_email` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn unique_email(prefix: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_with_auth_and_query` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn get_with_auth_and_query(path: &str, token: &str, query: Vec<(&str, &str)>) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn delete_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `post_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub fn post_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `signin_user` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:189:14
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub async fn signin_user(
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestHarness` is never constructed
[INFO] [stdout]    --> tests/compat/helpers.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct TestHarness {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/compat/helpers.rs:235:18
[INFO] [stdout]     |
[INFO] [stdout] 232 | impl TestHarness {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub async fn new() -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub async fn minimal() -> Self {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn from_arc(auth: Arc<BetterAuth<MemoryDatabaseAdapter>>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub fn auth(&self) -> &BetterAuth<MemoryDatabaseAdapter> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub fn into_arc(self) -> Arc<BetterAuth<MemoryDatabaseAdapter>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn get(&self, path: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn authed_get(&self, path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn post(&self, path: &str, body: Value) -> AuthRequest {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn authed_post(&self, path: &str, body: Value, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub async fn send(&self, req: AuthRequest) -> (u16, Value) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub async fn signup(&self, email: &str, password: &str, name: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub async fn signin(&self, email: &str, password: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub async fn create_user_with_session(&self) -> (String, String) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_shapes` is never used
[INFO] [stdout]   --> tests/compat/shapes.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn compare_shapes(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_shapes_inner` is never used
[INFO] [stdout]   --> tests/compat/shapes.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn compare_shapes_inner(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_type_signature` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn extract_type_signature(value: &Value, indent: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `better-auth` (example "custom_orm_adapter") due to 39 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: static `EMAIL_COUNTER` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | static EMAIL_COUNTER: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unique_email` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn unique_email(prefix: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_secret` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn test_secret() -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_config` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn test_config() -> AuthConfig {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_test_auth` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:47:14
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub async fn create_test_auth() -> BetterAuth<MemoryDatabaseAdapter> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `post_json` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn post_json(path: &str, body: Value) -> AuthRequest {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_request` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn get_request(path: &str) -> AuthRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_with_auth` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub fn get_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_with_auth_and_query` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn get_with_auth_and_query(path: &str, token: &str, query: Vec<(&str, &str)>) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `post_json_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub fn post_json_with_auth(path: &str, body: Value, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn delete_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `post_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub fn post_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_request` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:148:14
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub async fn send_request(
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `signup_user` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:162:14
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub async fn signup_user(
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `signin_user` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:189:14
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub async fn signin_user(
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestHarness` is never constructed
[INFO] [stdout]    --> tests/compat/helpers.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct TestHarness {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/compat/helpers.rs:235:18
[INFO] [stdout]     |
[INFO] [stdout] 232 | impl TestHarness {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub async fn new() -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub async fn minimal() -> Self {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn from_arc(auth: Arc<BetterAuth<MemoryDatabaseAdapter>>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub fn auth(&self) -> &BetterAuth<MemoryDatabaseAdapter> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub fn into_arc(self) -> Arc<BetterAuth<MemoryDatabaseAdapter>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn get(&self, path: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn authed_get(&self, path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn post(&self, path: &str, body: Value) -> AuthRequest {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn authed_post(&self, path: &str, body: Value, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub async fn send(&self, req: AuthRequest) -> (u16, Value) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub async fn signup(&self, email: &str, password: &str, name: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub async fn signin(&self, email: &str, password: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub async fn create_user_with_session(&self) -> (String, String) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `required_fields` is never read
[INFO] [stdout]   --> tests/compat/schema.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct SchemaExpectation {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub required_fields: BTreeSet<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SchemaExpectation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `field_type`, `nullable`, `nested`, and `items` are never read
[INFO] [stdout]   --> tests/compat/schema.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct FieldExpectation {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 22 |     /// JSON type: "string", "boolean", "number", "object", "array", "null", "date"
[INFO] [stdout] 23 |     pub field_type: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 24 |     /// Whether the field can be null
[INFO] [stdout] 25 |     pub nullable: bool,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 26 |     /// Nested schema (for objects)
[INFO] [stdout] 27 |     pub nested: Option<SchemaExpectation>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 28 |     /// Item schema (for arrays)
[INFO] [stdout] 29 |     pub items: Option<Box<FieldExpectation>>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FieldExpectation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_error_schemas` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn extract_error_schemas(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MissingRequiredField`, `TypeMismatch`, and `SnakeCaseField` are never constructed
[INFO] [stdout]   --> tests/compat/validation.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum DiffKind {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 25 |     /// A required field is missing from the response
[INFO] [stdout] 26 |     MissingRequiredField,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     /// A field has an unexpected type
[INFO] [stdout] 28 |     TypeMismatch { expected: String, actual: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 29 |     /// A field uses snake_case instead of camelCase
[INFO] [stdout] 30 |     SnakeCaseField,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DiffKind` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_response` is never used
[INFO] [stdout]   --> tests/compat/validation.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn validate_response(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_field` is never used
[INFO] [stdout]    --> tests/compat/validation.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn validate_field(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `spec` is never read
[INFO] [stdout]   --> tests/compat/validator.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct SpecValidator {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 12 |     pub spec: oas3::spec::Spec,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `validate_endpoint`, and `report` are never used
[INFO] [stdout]   --> tests/compat/validator.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl SpecValidator {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 57 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn validate_endpoint(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn report(&self) -> String {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `EMAIL_COUNTER` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | static EMAIL_COUNTER: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unique_email` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn unique_email(prefix: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_request` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn get_request(path: &str) -> AuthRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_with_auth_and_query` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn get_with_auth_and_query(path: &str, token: &str, query: Vec<(&str, &str)>) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `post_json_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub fn post_json_with_auth(path: &str, body: Value, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn delete_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `post_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub fn post_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestHarness` is never constructed
[INFO] [stdout]    --> tests/compat/helpers.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct TestHarness {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/compat/helpers.rs:235:18
[INFO] [stdout]     |
[INFO] [stdout] 232 | impl TestHarness {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub async fn new() -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub async fn minimal() -> Self {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn from_arc(auth: Arc<BetterAuth<MemoryDatabaseAdapter>>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub fn auth(&self) -> &BetterAuth<MemoryDatabaseAdapter> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub fn into_arc(self) -> Arc<BetterAuth<MemoryDatabaseAdapter>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn get(&self, path: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn authed_get(&self, path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn post(&self, path: &str, body: Value) -> AuthRequest {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn authed_post(&self, path: &str, body: Value, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub async fn send(&self, req: AuthRequest) -> (u16, Value) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub async fn signup(&self, email: &str, password: &str, name: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub async fn signin(&self, email: &str, password: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub async fn create_user_with_session(&self) -> (String, String) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SchemaExpectation` is never constructed
[INFO] [stdout]   --> tests/compat/schema.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct SchemaExpectation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FieldExpectation` is never constructed
[INFO] [stdout]   --> tests/compat/schema.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct FieldExpectation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_openapi_spec` is never used
[INFO] [stdout]   --> tests/compat/schema.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn load_openapi_spec() -> oas3::spec::Spec {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_path_item` is never used
[INFO] [stdout]   --> tests/compat/schema.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn get_path_item<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_operation` is never used
[INFO] [stdout]   --> tests/compat/schema.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn get_operation<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_object_schema` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub fn resolve_object_schema(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_from_response` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn schema_from_response(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_success_schema` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn extract_success_schema(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_error_schemas` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn extract_error_schemas(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `object_schema_to_expectation` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:184:8
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn object_schema_to_expectation(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `object_schema_to_field` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:215:8
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub fn object_schema_to_field(spec: &oas3::spec::Spec, obj: &ObjectSchema) -> FieldExpectation {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_type_info` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:245:8
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub fn schema_type_info(obj: &ObjectSchema) -> (String, bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_type_to_string` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:268:8
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub fn schema_type_to_string(t: SchemaType) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_camel_case_fields` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn check_camel_case_fields(value: &Value, path: &str) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_camel_case_inner` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:124:4
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn check_camel_case_inner(value: &Value, path: &str, violations: &mut Vec<String>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_type_signature` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn extract_type_signature(value: &Value, indent: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MissingRequiredField`, `TypeMismatch`, and `SnakeCaseField` are never constructed
[INFO] [stdout]   --> tests/compat/validation.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum DiffKind {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 25 |     /// A required field is missing from the response
[INFO] [stdout] 26 |     MissingRequiredField,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     /// A field has an unexpected type
[INFO] [stdout] 28 |     TypeMismatch { expected: String, actual: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 29 |     /// A field uses snake_case instead of camelCase
[INFO] [stdout] 30 |     SnakeCaseField,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DiffKind` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_response` is never used
[INFO] [stdout]   --> tests/compat/validation.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn validate_response(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_field` is never used
[INFO] [stdout]    --> tests/compat/validation.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn validate_field(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `spec` is never read
[INFO] [stdout]   --> tests/compat/validator.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct SpecValidator {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 12 |     pub spec: oas3::spec::Spec,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `validate_endpoint`, and `report` are never used
[INFO] [stdout]   --> tests/compat/validator.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl SpecValidator {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 57 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn validate_endpoint(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn report(&self) -> String {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_with_auth_and_query` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn get_with_auth_and_query(path: &str, token: &str, query: Vec<(&str, &str)>) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn delete_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `post_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub fn post_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `signup_user` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:162:14
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub async fn signup_user(
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `signin_user` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:189:14
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub async fn signin_user(
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestHarness` is never constructed
[INFO] [stdout]    --> tests/compat/helpers.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct TestHarness {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/compat/helpers.rs:235:18
[INFO] [stdout]     |
[INFO] [stdout] 232 | impl TestHarness {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub async fn new() -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub async fn minimal() -> Self {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn from_arc(auth: Arc<BetterAuth<MemoryDatabaseAdapter>>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub fn auth(&self) -> &BetterAuth<MemoryDatabaseAdapter> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub fn into_arc(self) -> Arc<BetterAuth<MemoryDatabaseAdapter>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn get(&self, path: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn authed_get(&self, path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn post(&self, path: &str, body: Value) -> AuthRequest {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn authed_post(&self, path: &str, body: Value, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub async fn send(&self, req: AuthRequest) -> (u16, Value) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub async fn signup(&self, email: &str, password: &str, name: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub async fn signin(&self, email: &str, password: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub async fn create_user_with_session(&self) -> (String, String) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SchemaExpectation` is never constructed
[INFO] [stdout]   --> tests/compat/schema.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct SchemaExpectation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FieldExpectation` is never constructed
[INFO] [stdout]   --> tests/compat/schema.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct FieldExpectation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_openapi_spec` is never used
[INFO] [stdout]   --> tests/compat/schema.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn load_openapi_spec() -> oas3::spec::Spec {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_path_item` is never used
[INFO] [stdout]   --> tests/compat/schema.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn get_path_item<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_operation` is never used
[INFO] [stdout]   --> tests/compat/schema.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn get_operation<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_object_schema` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub fn resolve_object_schema(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_from_response` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn schema_from_response(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_success_schema` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn extract_success_schema(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_error_schemas` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn extract_error_schemas(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `object_schema_to_expectation` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:184:8
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn object_schema_to_expectation(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `object_schema_to_field` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:215:8
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub fn object_schema_to_field(spec: &oas3::spec::Spec, obj: &ObjectSchema) -> FieldExpectation {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_type_info` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:245:8
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub fn schema_type_info(obj: &ObjectSchema) -> (String, bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_type_to_string` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:268:8
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub fn schema_type_to_string(t: SchemaType) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_shapes` is never used
[INFO] [stdout]   --> tests/compat/shapes.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn compare_shapes(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_shapes_inner` is never used
[INFO] [stdout]   --> tests/compat/shapes.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn compare_shapes_inner(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_camel_case_fields` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn check_camel_case_fields(value: &Value, path: &str) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_camel_case_inner` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:124:4
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn check_camel_case_inner(value: &Value, path: &str, violations: &mut Vec<String>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_type_signature` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn extract_type_signature(value: &Value, indent: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MissingRequiredField`, `TypeMismatch`, and `SnakeCaseField` are never constructed
[INFO] [stdout]   --> tests/compat/validation.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum DiffKind {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 25 |     /// A required field is missing from the response
[INFO] [stdout] 26 |     MissingRequiredField,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     /// A field has an unexpected type
[INFO] [stdout] 28 |     TypeMismatch { expected: String, actual: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 29 |     /// A field uses snake_case instead of camelCase
[INFO] [stdout] 30 |     SnakeCaseField,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DiffKind` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_response` is never used
[INFO] [stdout]   --> tests/compat/validation.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn validate_response(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_field` is never used
[INFO] [stdout]    --> tests/compat/validation.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn validate_field(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `json_type_name` is never used
[INFO] [stdout]    --> tests/compat/validation.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub fn json_type_name(value: &Value) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `spec` is never read
[INFO] [stdout]   --> tests/compat/validator.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct SpecValidator {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 12 |     pub spec: oas3::spec::Spec,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `validate_endpoint`, and `report` are never used
[INFO] [stdout]   --> tests/compat/validator.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl SpecValidator {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 57 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn validate_endpoint(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn report(&self) -> String {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_request` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn get_request(path: &str) -> AuthRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_with_auth` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub fn get_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_with_auth_and_query` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn get_with_auth_and_query(path: &str, token: &str, query: Vec<(&str, &str)>) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `post_json_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub fn post_json_with_auth(path: &str, body: Value, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn delete_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `post_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub fn post_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `signup_user` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:162:14
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub async fn signup_user(
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `signin_user` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:189:14
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub async fn signin_user(
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestHarness` is never constructed
[INFO] [stdout]    --> tests/compat/helpers.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct TestHarness {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/compat/helpers.rs:235:18
[INFO] [stdout]     |
[INFO] [stdout] 232 | impl TestHarness {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub async fn new() -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub async fn minimal() -> Self {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn from_arc(auth: Arc<BetterAuth<MemoryDatabaseAdapter>>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub fn auth(&self) -> &BetterAuth<MemoryDatabaseAdapter> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub fn into_arc(self) -> Arc<BetterAuth<MemoryDatabaseAdapter>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn get(&self, path: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn authed_get(&self, path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn post(&self, path: &str, body: Value) -> AuthRequest {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn authed_post(&self, path: &str, body: Value, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub async fn send(&self, req: AuthRequest) -> (u16, Value) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub async fn signup(&self, email: &str, password: &str, name: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub async fn signin(&self, email: &str, password: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub async fn create_user_with_session(&self) -> (String, String) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SchemaExpectation` is never constructed
[INFO] [stdout]   --> tests/compat/schema.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct SchemaExpectation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FieldExpectation` is never constructed
[INFO] [stdout]   --> tests/compat/schema.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct FieldExpectation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_openapi_spec` is never used
[INFO] [stdout]   --> tests/compat/schema.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn load_openapi_spec() -> oas3::spec::Spec {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_path_item` is never used
[INFO] [stdout]   --> tests/compat/schema.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn get_path_item<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_operation` is never used
[INFO] [stdout]   --> tests/compat/schema.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn get_operation<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_object_schema` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub fn resolve_object_schema(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_from_response` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn schema_from_response(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_success_schema` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn extract_success_schema(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_error_schemas` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn extract_error_schemas(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `object_schema_to_expectation` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:184:8
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn object_schema_to_expectation(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `object_schema_to_field` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:215:8
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub fn object_schema_to_field(spec: &oas3::spec::Spec, obj: &ObjectSchema) -> FieldExpectation {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_type_info` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:245:8
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub fn schema_type_info(obj: &ObjectSchema) -> (String, bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_type_to_string` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:268:8
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub fn schema_type_to_string(t: SchemaType) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_shapes` is never used
[INFO] [stdout]   --> tests/compat/shapes.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn compare_shapes(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_shapes_inner` is never used
[INFO] [stdout]   --> tests/compat/shapes.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn compare_shapes_inner(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_camel_case_fields` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn check_camel_case_fields(value: &Value, path: &str) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_camel_case_inner` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:124:4
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn check_camel_case_inner(value: &Value, path: &str, violations: &mut Vec<String>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_type_signature` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn extract_type_signature(value: &Value, indent: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MissingRequiredField`, `TypeMismatch`, and `SnakeCaseField` are never constructed
[INFO] [stdout]   --> tests/compat/validation.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum DiffKind {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 25 |     /// A required field is missing from the response
[INFO] [stdout] 26 |     MissingRequiredField,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     /// A field has an unexpected type
[INFO] [stdout] 28 |     TypeMismatch { expected: String, actual: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 29 |     /// A field uses snake_case instead of camelCase
[INFO] [stdout] 30 |     SnakeCaseField,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DiffKind` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_response` is never used
[INFO] [stdout]   --> tests/compat/validation.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn validate_response(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_field` is never used
[INFO] [stdout]    --> tests/compat/validation.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn validate_field(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `json_type_name` is never used
[INFO] [stdout]    --> tests/compat/validation.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub fn json_type_name(value: &Value) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `spec` is never read
[INFO] [stdout]   --> tests/compat/validator.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct SpecValidator {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 12 |     pub spec: oas3::spec::Spec,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `validate_endpoint`, and `report` are never used
[INFO] [stdout]   --> tests/compat/validator.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl SpecValidator {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 57 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn validate_endpoint(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn report(&self) -> String {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `EMAIL_COUNTER` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | static EMAIL_COUNTER: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unique_email` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn unique_email(prefix: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_with_auth_and_query` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn get_with_auth_and_query(path: &str, token: &str, query: Vec<(&str, &str)>) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn delete_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `post_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub fn post_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `signin_user` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:189:14
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub async fn signin_user(
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestHarness` is never constructed
[INFO] [stdout]    --> tests/compat/helpers.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct TestHarness {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/compat/helpers.rs:235:18
[INFO] [stdout]     |
[INFO] [stdout] 232 | impl TestHarness {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub async fn new() -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub async fn minimal() -> Self {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn from_arc(auth: Arc<BetterAuth<MemoryDatabaseAdapter>>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub fn auth(&self) -> &BetterAuth<MemoryDatabaseAdapter> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub fn into_arc(self) -> Arc<BetterAuth<MemoryDatabaseAdapter>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn get(&self, path: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn authed_get(&self, path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn post(&self, path: &str, body: Value) -> AuthRequest {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn authed_post(&self, path: &str, body: Value, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub async fn send(&self, req: AuthRequest) -> (u16, Value) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub async fn signup(&self, email: &str, password: &str, name: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub async fn signin(&self, email: &str, password: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub async fn create_user_with_session(&self) -> (String, String) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SchemaExpectation` is never constructed
[INFO] [stdout]   --> tests/compat/schema.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct SchemaExpectation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FieldExpectation` is never constructed
[INFO] [stdout]   --> tests/compat/schema.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct FieldExpectation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_openapi_spec` is never used
[INFO] [stdout]   --> tests/compat/schema.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn load_openapi_spec() -> oas3::spec::Spec {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_path_item` is never used
[INFO] [stdout]   --> tests/compat/schema.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn get_path_item<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_operation` is never used
[INFO] [stdout]   --> tests/compat/schema.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn get_operation<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_object_schema` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub fn resolve_object_schema(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_from_response` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn schema_from_response(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_success_schema` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn extract_success_schema(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_error_schemas` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn extract_error_schemas(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `object_schema_to_expectation` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:184:8
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn object_schema_to_expectation(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `object_schema_to_field` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:215:8
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub fn object_schema_to_field(spec: &oas3::spec::Spec, obj: &ObjectSchema) -> FieldExpectation {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_type_info` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:245:8
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub fn schema_type_info(obj: &ObjectSchema) -> (String, bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_type_to_string` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:268:8
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub fn schema_type_to_string(t: SchemaType) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_shapes` is never used
[INFO] [stdout]   --> tests/compat/shapes.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn compare_shapes(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_shapes_inner` is never used
[INFO] [stdout]   --> tests/compat/shapes.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn compare_shapes_inner(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_camel_case_fields` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn check_camel_case_fields(value: &Value, path: &str) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_camel_case_inner` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:124:4
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn check_camel_case_inner(value: &Value, path: &str, violations: &mut Vec<String>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_type_signature` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn extract_type_signature(value: &Value, indent: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MissingRequiredField`, `TypeMismatch`, and `SnakeCaseField` are never constructed
[INFO] [stdout]   --> tests/compat/validation.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum DiffKind {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 25 |     /// A required field is missing from the response
[INFO] [stdout] 26 |     MissingRequiredField,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     /// A field has an unexpected type
[INFO] [stdout] 28 |     TypeMismatch { expected: String, actual: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 29 |     /// A field uses snake_case instead of camelCase
[INFO] [stdout] 30 |     SnakeCaseField,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DiffKind` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_response` is never used
[INFO] [stdout]   --> tests/compat/validation.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn validate_response(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_field` is never used
[INFO] [stdout]    --> tests/compat/validation.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn validate_field(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `json_type_name` is never used
[INFO] [stdout]    --> tests/compat/validation.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub fn json_type_name(value: &Value) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `spec` is never read
[INFO] [stdout]   --> tests/compat/validator.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct SpecValidator {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 12 |     pub spec: oas3::spec::Spec,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `validate_endpoint`, and `report` are never used
[INFO] [stdout]   --> tests/compat/validator.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl SpecValidator {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 57 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn validate_endpoint(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn report(&self) -> String {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `EMAIL_COUNTER` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | static EMAIL_COUNTER: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unique_email` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn unique_email(prefix: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_request` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn get_request(path: &str) -> AuthRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn delete_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `post_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub fn post_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `signin_user` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:189:14
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub async fn signin_user(
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestHarness` is never constructed
[INFO] [stdout]    --> tests/compat/helpers.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct TestHarness {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/compat/helpers.rs:235:18
[INFO] [stdout]     |
[INFO] [stdout] 232 | impl TestHarness {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub async fn new() -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub async fn minimal() -> Self {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn from_arc(auth: Arc<BetterAuth<MemoryDatabaseAdapter>>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub fn auth(&self) -> &BetterAuth<MemoryDatabaseAdapter> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub fn into_arc(self) -> Arc<BetterAuth<MemoryDatabaseAdapter>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn get(&self, path: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn authed_get(&self, path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn post(&self, path: &str, body: Value) -> AuthRequest {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn authed_post(&self, path: &str, body: Value, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub async fn send(&self, req: AuthRequest) -> (u16, Value) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub async fn signup(&self, email: &str, password: &str, name: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub async fn signin(&self, email: &str, password: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub async fn create_user_with_session(&self) -> (String, String) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_error_schemas` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn extract_error_schemas(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_shapes` is never used
[INFO] [stdout]   --> tests/compat/shapes.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn compare_shapes(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_shapes_inner` is never used
[INFO] [stdout]   --> tests/compat/shapes.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn compare_shapes_inner(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_type_signature` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn extract_type_signature(value: &Value, indent: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `EMAIL_COUNTER` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | static EMAIL_COUNTER: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unique_email` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn unique_email(prefix: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn delete_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `post_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub fn post_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestHarness` is never constructed
[INFO] [stdout]    --> tests/compat/helpers.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct TestHarness {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/compat/helpers.rs:235:18
[INFO] [stdout]     |
[INFO] [stdout] 232 | impl TestHarness {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub async fn new() -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub async fn minimal() -> Self {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn from_arc(auth: Arc<BetterAuth<MemoryDatabaseAdapter>>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub fn auth(&self) -> &BetterAuth<MemoryDatabaseAdapter> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub fn into_arc(self) -> Arc<BetterAuth<MemoryDatabaseAdapter>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn get(&self, path: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn authed_get(&self, path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn post(&self, path: &str, body: Value) -> AuthRequest {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn authed_post(&self, path: &str, body: Value, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub async fn send(&self, req: AuthRequest) -> (u16, Value) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub async fn signup(&self, email: &str, password: &str, name: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub async fn signin(&self, email: &str, password: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub async fn create_user_with_session(&self) -> (String, String) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SchemaExpectation` is never constructed
[INFO] [stdout]   --> tests/compat/schema.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct SchemaExpectation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FieldExpectation` is never constructed
[INFO] [stdout]   --> tests/compat/schema.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct FieldExpectation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_openapi_spec` is never used
[INFO] [stdout]   --> tests/compat/schema.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn load_openapi_spec() -> oas3::spec::Spec {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_path_item` is never used
[INFO] [stdout]   --> tests/compat/schema.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn get_path_item<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_operation` is never used
[INFO] [stdout]   --> tests/compat/schema.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn get_operation<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_object_schema` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub fn resolve_object_schema(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_from_response` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn schema_from_response(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_success_schema` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn extract_success_schema(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_error_schemas` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn extract_error_schemas(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `object_schema_to_expectation` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:184:8
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn object_schema_to_expectation(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `object_schema_to_field` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:215:8
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub fn object_schema_to_field(spec: &oas3::spec::Spec, obj: &ObjectSchema) -> FieldExpectation {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_type_info` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:245:8
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub fn schema_type_info(obj: &ObjectSchema) -> (String, bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_type_to_string` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:268:8
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub fn schema_type_to_string(t: SchemaType) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_shapes` is never used
[INFO] [stdout]   --> tests/compat/shapes.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn compare_shapes(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_shapes_inner` is never used
[INFO] [stdout]   --> tests/compat/shapes.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn compare_shapes_inner(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_camel_case_fields` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn check_camel_case_fields(value: &Value, path: &str) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_camel_case_inner` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:124:4
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn check_camel_case_inner(value: &Value, path: &str, violations: &mut Vec<String>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_type_signature` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn extract_type_signature(value: &Value, indent: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MissingRequiredField`, `TypeMismatch`, and `SnakeCaseField` are never constructed
[INFO] [stdout]   --> tests/compat/validation.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum DiffKind {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 25 |     /// A required field is missing from the response
[INFO] [stdout] 26 |     MissingRequiredField,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     /// A field has an unexpected type
[INFO] [stdout] 28 |     TypeMismatch { expected: String, actual: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 29 |     /// A field uses snake_case instead of camelCase
[INFO] [stdout] 30 |     SnakeCaseField,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DiffKind` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_response` is never used
[INFO] [stdout]   --> tests/compat/validation.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn validate_response(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_field` is never used
[INFO] [stdout]    --> tests/compat/validation.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn validate_field(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `json_type_name` is never used
[INFO] [stdout]    --> tests/compat/validation.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub fn json_type_name(value: &Value) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `spec` is never read
[INFO] [stdout]   --> tests/compat/validator.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct SpecValidator {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 12 |     pub spec: oas3::spec::Spec,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `validate_endpoint`, and `report` are never used
[INFO] [stdout]   --> tests/compat/validator.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl SpecValidator {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 57 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn validate_endpoint(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn report(&self) -> String {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `EMAIL_COUNTER` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | static EMAIL_COUNTER: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unique_email` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn unique_email(prefix: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_secret` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn test_secret() -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_config` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn test_config() -> AuthConfig {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_test_auth` is never used
[INFO] [stdout]   --> tests/compat/helpers.rs:47:14
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub async fn create_test_auth() -> BetterAuth<MemoryDatabaseAdapter> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_with_auth_and_query` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn get_with_auth_and_query(path: &str, token: &str, query: Vec<(&str, &str)>) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_with_auth` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn delete_with_auth(path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `signup_user` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:162:14
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub async fn signup_user(
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `signin_user` is never used
[INFO] [stdout]    --> tests/compat/helpers.rs:189:14
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub async fn signin_user(
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/compat/helpers.rs:235:18
[INFO] [stdout]     |
[INFO] [stdout] 232 | impl TestHarness {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub async fn new() -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn from_arc(auth: Arc<BetterAuth<MemoryDatabaseAdapter>>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub fn auth(&self) -> &BetterAuth<MemoryDatabaseAdapter> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn get(&self, path: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn authed_get(&self, path: &str, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn post(&self, path: &str, body: Value) -> AuthRequest {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn authed_post(&self, path: &str, body: Value, token: &str) -> AuthRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub async fn send(&self, req: AuthRequest) -> (u16, Value) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub async fn signup(&self, email: &str, password: &str, name: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub async fn signin(&self, email: &str, password: &str) -> (String, Value) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub async fn create_user_with_session(&self) -> (String, String) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SchemaExpectation` is never constructed
[INFO] [stdout]   --> tests/compat/schema.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct SchemaExpectation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FieldExpectation` is never constructed
[INFO] [stdout]   --> tests/compat/schema.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct FieldExpectation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_openapi_spec` is never used
[INFO] [stdout]   --> tests/compat/schema.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn load_openapi_spec() -> oas3::spec::Spec {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_path_item` is never used
[INFO] [stdout]   --> tests/compat/schema.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn get_path_item<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_operation` is never used
[INFO] [stdout]   --> tests/compat/schema.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn get_operation<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_object_schema` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub fn resolve_object_schema(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_from_response` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn schema_from_response(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_success_schema` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn extract_success_schema(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_error_schemas` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn extract_error_schemas(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `object_schema_to_expectation` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:184:8
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn object_schema_to_expectation(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `object_schema_to_field` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:215:8
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub fn object_schema_to_field(spec: &oas3::spec::Spec, obj: &ObjectSchema) -> FieldExpectation {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_type_info` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:245:8
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub fn schema_type_info(obj: &ObjectSchema) -> (String, bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_type_to_string` is never used
[INFO] [stdout]    --> tests/compat/schema.rs:268:8
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub fn schema_type_to_string(t: SchemaType) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_shapes` is never used
[INFO] [stdout]   --> tests/compat/shapes.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn compare_shapes(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_shapes_inner` is never used
[INFO] [stdout]   --> tests/compat/shapes.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn compare_shapes_inner(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_camel_case_fields` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn check_camel_case_fields(value: &Value, path: &str) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_camel_case_inner` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:124:4
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn check_camel_case_inner(value: &Value, path: &str, violations: &mut Vec<String>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_type_signature` is never used
[INFO] [stdout]    --> tests/compat/shapes.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn extract_type_signature(value: &Value, indent: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MissingRequiredField`, `TypeMismatch`, and `SnakeCaseField` are never constructed
[INFO] [stdout]   --> tests/compat/validation.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum DiffKind {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 25 |     /// A required field is missing from the response
[INFO] [stdout] 26 |     MissingRequiredField,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     /// A field has an unexpected type
[INFO] [stdout] 28 |     TypeMismatch { expected: String, actual: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 29 |     /// A field uses snake_case instead of camelCase
[INFO] [stdout] 30 |     SnakeCaseField,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DiffKind` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_response` is never used
[INFO] [stdout]   --> tests/compat/validation.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn validate_response(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_field` is never used
[INFO] [stdout]    --> tests/compat/validation.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn validate_field(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `json_type_name` is never used
[INFO] [stdout]    --> tests/compat/validation.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub fn json_type_name(value: &Value) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `spec` is never read
[INFO] [stdout]   --> tests/compat/validator.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct SpecValidator {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 12 |     pub spec: oas3::spec::Spec,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `validate_endpoint`, and `report` are never used
[INFO] [stdout]   --> tests/compat/validator.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl SpecValidator {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 57 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn validate_endpoint(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn report(&self) -> String {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "dfb2349e678ed211a641752469a24946a09406dd6494325e7963f976082ec109", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dfb2349e678ed211a641752469a24946a09406dd6494325e7963f976082ec109", kill_on_drop: false }`
[INFO] [stdout] dfb2349e678ed211a641752469a24946a09406dd6494325e7963f976082ec109
